package 牛客网_N.树的高度_N2;

import java.util.HashMap;
import java.util.Scanner;

/**
 * 
 * @author xuliyun
 * @summary 现在有一棵合法的二叉树，树的节点都是用数字表示，现在给定这棵树上所有的父子关系，求这棵树的高度
 * 
 * 输入的第一行表示节点的个数n（1 ≤ n ≤ 1000，节点的编号为0到n-1）组成，
 * 下面是n-1行，每行有两个整数，第一个数表示父节点的编号，第二个数表示子节点的编号
 * 5
0 1
0 2
1 3
1 4
 * 
 * 输出树的高度，为一个整数
 * 3
 */
public class Main2 {
	static int deep = 1;
	public static void main(String[] args){
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		HashMap<Integer, Integer> deep = new HashMap<Integer, Integer>();
		HashMap<Integer, Integer> childNum = new HashMap<Integer, Integer>();
		deep.put(0, 1);
		childNum.put(0, 0);
		int max = 1;
		
		for(int i = 0; i < n-1; i++){
			int parent = in.nextInt();
			int child = in.nextInt();
			
			if(!deep.containsKey(parent) || childNum.get(parent) >= 2){
				continue;
			}
			
			int myDeep = deep.get(parent)+1;
			deep.put(child, myDeep);
			
			childNum.put(parent, childNum.get(parent)+1);
            childNum.put(child, 0);
			
			if(myDeep > max) max = myDeep;
		}
		System.out.println(max);
		
		in.close();
	}
	
	
}